package com.rayson.yututu.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.rayson.yututu.model.entity.Space;
import com.rayson.yututu.model.entity.User;
import com.rayson.yututu.model.req.space.SpaceAddReq;
import com.rayson.yututu.model.req.space.SpaceEditReq;
import com.rayson.yututu.model.req.space.SpaceListReq;
import com.rayson.yututu.model.req.space.SpaceUpdateReq;
import com.rayson.yututu.model.vo.SpaceVO;

/**
 * @author wulei
 * @description 针对表【space(用户空间表)】的数据库操作Service
 * @createDate 2025-01-11 11:30:19
 */
public interface SpaceService extends IService<Space> {

    Page<SpaceVO> listSpacePage(SpaceListReq spaceListReq);

    String addSpace(SpaceAddReq spaceAddReq);

    void editSpace(SpaceEditReq spaceEditReq);

    void updateSpaceByAdmin(SpaceUpdateReq spaceUpdateReq);

    void checkSpace(String spaceId, User loginUser, boolean checkCapability);

    SpaceVO getCurrentUserSpace();

}
